
/*#include <config.h>
#include <util/cmdline.h>
#include <ui_message.h>
#include <options.h>

#include <goto-programs/goto_functions.h>
#include <goto-programs/goto_convert_functions.h>

#include <langapi/language_ui.h>
#include <langapi/mode.h>
#include <ansi-c/ansi_c_language.h>

#ifdef HAVE_CPP
#include <cpp/cpp_language.h>
#endif
*/
// 
#include "testmain.h"
#include "./back_end/smt.h"
#include "./back_end/werePrincessInterface.h"
#include "./back_end/ARF.h"
//


int main(int argc, const char **argv)
{
  //wolver_parseoptionst parseoptions(argc, argv);
  // tester
  vector<Expr*> vv;
  freopen(NULL, "w", stdout);
  vector<CFA> vnewCFA;
  tester_maint tester_main (argc, argv);
  tester_main.doit(vnewCFA);
  for(int i1 = 0; i1 < (int)vnewCFA.size(); i1++){
      if(strcmp(vnewCFA[i1].GetId(), "__CPROVER_initialize") == 0){
          vnewCFA[i1].GetGlobalVariable(vv);
      }
  }
  vnewCFA.erase(vnewCFA.begin(), vnewCFA.begin()+2);
  ARF arf(&vnewCFA, &vv);
  //cout << "========== Print CFA ============= " << endl;
  /*for(int i1 = 0; i1 < (int)vnewCFA.size(); i1++){
      cout << "CFA Name " <<  vnewCFA[i1].GetId() << endl;
      for(int i2 = 0; i2 < (int)(vnewCFA[i1].GetFormPara()).size(); i2++){
          cout << " === " << i1 << " ===formal " << Expr2String((vnewCFA[i1].GetFormPara())[i2])<< endl;
      }
      vnewCFA[i1].PrintCFA();
      string filename = vnewCFA[i1].GetId();
      filename = filename + ".dot";
      vnewCFA[i1].CFA2Dot(filename.c_str());
  }
  //return parseoptions.main();
  return 0;*/
}


